package org.jeecg.modules.system.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;


/**
 * @author yaojia
 * @since 2024-07-31 09:44
 * 人员履历
 **/
@Data
@TableName("sys_user_info")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "个人履历返回对象", description = "个人履历返回对象")
public class UserInfoEntity implements Serializable {

    private static final long serialVersionUID = -8726718909839391435L;

    @ApiModelProperty(value = "对应SysUser中的id字段")
    private String userId;

    @ApiModelProperty(value = "对应SysUser中的name字段")
    String name;
    @ApiModelProperty(value = "对应SysUser中的 性别（1：男 2：女）")
    String sex;

    @ApiModelProperty(value = "对应SysUser中的 出生年月")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    LocalDateTime birthday;

    @ApiModelProperty(value = "头像")
    private String avatar;

    @ApiModelProperty(value = "名族")
    String ethnicity;
    @ApiModelProperty(value = "籍贯")
    String birthplace;
    @ApiModelProperty(value = "出生地")
    String birthLocation;

    @TableField(value = "joiningCPC")
    @ApiModelProperty(value = "入党时间 中国共产党的英文是 Communist Party of China，简称为:CPC")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    LocalDateTime joiningCPC;

    @TableField(value = "dateOfEmployment")
    @ApiModelProperty(value = "参加工作时间")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    LocalDateTime dateOfEmployment;
    @ApiModelProperty(value = "健康状况")
    String healthStatus;

    @ApiModelProperty(value = "专业技术职务")
    String technicalPosition;
    @ApiModelProperty(value = "专业特长")
    String professionalSpecial;

    @ApiModelProperty(value = "全日制教育")
    String fullTimeEducation;

    @TableField(value = "graduateInstitutionAndMajorForFTE")
    @ApiModelProperty(value = "毕业院校及专业（全日制教育）")
    String graduateInstitutionAndMajorForFTE;

    @ApiModelProperty(value = "在职教育")
    String continuingEducation;

    @TableField(value = "graduateInstitutionAndMajorForCE")
    @ApiModelProperty(value = "毕业院校及专业（在职教育）")
    String graduateInstitutionAndMajorForCE;

    @ApiModelProperty(value = "现任职务")
    String currentPosition;
    @ApiModelProperty(value = "拟任职务")
    String proposedPosition;
    @ApiModelProperty(value = "拟免职务")
    String proposedTerminationPosition;

    @ApiModelProperty(value = "简历")
    String resume;

    @TableField(value = "awardsAndPunishments")
    @ApiModelProperty(value = "奖惩情况")
    String awardsAndPunishments;

    @TableField(value = "yearEndKeyResult")
    @ApiModelProperty(value = "年度考核结果")
    String yearEndKeyResult;
    @ApiModelProperty(value = "任免理由")
    String reasons;

    @ApiModelProperty(value = "主要家庭成员及社会关系")
    String membersList;

    @ApiModelProperty(value = "呈报单位")
    String reportingOrganization;

    @ApiModelProperty(value = "审批机关意见")
    String reviewingBody;
    @ApiModelProperty(value = "行政机关任免意见")
    String organizationReasons;

}
